iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
自我挑戰組

遊戲中的冰山一角-網路連線系列 第 10

Day10-遊戲連線基礎(9)-Rollback part 1

  • 分享至 

  • xImage
  •  

結合前面章節所講的集大成遊戲類型就是格鬥遊戲,對於格鬥遊戲而言都是幀與幀之間的戰鬥,在毫秒之間就能決定勝負,因此短時間之內的誤差都有可能會嚴重影響遊戲的體驗。

格鬥遊戲起源於電動遊樂場中的街機遊戲(Arcade),本地對戰是再熟悉不過的遊玩方式並且在執行與設計上能夠完美的呈現格鬥遊戲,但隨著時代的進步現在格鬥遊戲已經能在家使用網路連線與世界各地的玩家對戰,隨之而來的卻是對於開發者的另一個重大考驗,該怎麼處理網路連線?

一般格鬥遊戲在連線上會採取類似P2P的方式讓玩家互相直連,最主要的目的就是減少經過伺服端或是中介端所花費的傳輸時間,讓訊息能越快送達越好,之前有說到使用P2P可能無法避免玩家作弊,但格鬥遊戲是講求雙方的結果必定要一致因此會利用雙方互相同步的方式去避免作弊的嫌疑,舉個例子如果其中一方讓角色在施放技能的速度變快但另一方在模擬的結果與你不同,這時就會造成不同步的情況進而導致雙方直接放棄這場遊戲,這是格鬥遊戲裡面會做的一種保護機制。
https://ithelp.ithome.com.tw/upload/images/20220910/20151289LXwu2t2vr8.png

上述的連線方式可稱為lockstep netcode,這也正是之前提到過的幀同步實際應用的例子。

有了這些基本的概念後,開發者們提出了兩個解決方案,Delay-based netcode與Rollback netcode,下一章會先說明delay-based netcode的概念、實際狀況與優缺點。


上一篇
Day09-遊戲連線基礎(8)-時間Part 3
下一篇
Day11-遊戲連線基礎(10)-Rollback part 2
系列文
遊戲中的冰山一角-網路連線30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言